#ifndef SMARTPOINTER_H
#define SMARTPOINTER_H

template <class T> class SmartPoiter {
	public:
		explicit SmartPoiter(T* ptr) : ptr(data) { }
		~SmartPointer() { delete data; }
		
		T operator->() {
			return data;
		}
		
		T* operator->() {
			return *data;
		}
	private:
		T* data;
};

#endif
